---
sidebar_position: 4
tags: [env, .env, dotenv]
---

# ⚙️ env

Lê um arquivo de ambiente e define as variáveis de ambiente.

## CLI

Carregando o `.env` por padrão:

```sh
npx poku --envFile
```

Carregando um `.env` customizado:

```sh
npx poku --envFile='caminho/para/meu/.env'
```

<hr />

## API

> Você pode definir um arquivo `.env` diretamente em um teste especifico ou usá-lo globalmente.

Carregando o `.env` por padrão:

```ts
import { envFile } from 'poku';

await envFile();
```

Carregando um `.env` customizado:

```ts
import { envFile, poku } from 'poku';

await envFile('caminho/para/meu/.env');

await poku('./');
```

<hr />

:::note
Não é possível recuperar arquivos de diretórios acima do processo atual, por exemplo, `../.env`.
:::

<hr />

:::danger
O **Poku** é feito inteiramente para fins de teste, por favor, não use essa funcionalidade fora dos testes.
:::

<hr />

## Exemplos Reais

- `.env.test`

```sh
HOST='localhost'
PORT='8080'
```

Então, em um arquivo de teste, você pode usá-lo como:

```js
import { assert } from 'poku';

const host = process.env.HOST;
const port = process.env.PORT;

// Seus testes vêm aqui
```

Em seguida, execute seus testes

```sh
npx poku --envFile='.env.test'
```
